<template>
  <div>
    <el-date-picker
      v-model="begin"
      type="date"
      placeholder="选择起始日期"
      format="yyyy 年 MM 月 dd 日"
      value-format="yyyy-MM-dd"/>
    <el-date-picker
      v-model="end"
      type="date"
      placeholder="选择截止日期"
      format="yyyy 年 MM 月 dd 日"
      value-format="yyyy-MM-dd"/>
    <el-button @click="handleShowEcharts">查询</el-button>
    <el-row>
      <el-col :span="12"><div id="main" style="width: 600px;height:400px;"/></el-col>
      <el-col :span="12"><div id="main2" style="width: 600px;height:400px;"/></el-col>
    </el-row>
    <el-row>
      <el-col :span="12"><div id="main3" style="width: 600px;height:400px;"/></el-col>
      <el-col :span="12"><div id="main4" style="width: 600px;height:400px;"/></el-col>
    </el-row>
    <!-- 为 ECharts 准备一个定义了宽高的 DOM -->

  </div>
</template>
<script>
import echarts from 'echarts'
import statisticsApi from '@/api/statistics'
export default {
  data() {
    return {
      begin: '',
      end: ''
    }
  },
  //   created() {
  //     this.initEchart()
  //   },
  // 整合echarts：按照课件的版本安装echarts
  methods: {
    handleShowEcharts() {
      // 先查询统计数据 然后渲染展示
      statisticsApi.getStatistics(this.begin, this.end).then(r => {
        const xData = r.data.date
        const registerNums = r.data.registerNums
        const courseNums = r.data.courseNums
        const loginNums = r.data.loginNums
        const videViewNums = r.data.videViewNums
        this.initEchart('main', xData, loginNums, '日活量')
        this.initEchart('main2', xData, registerNums, '日注册量')
        this.initEchart('main3', xData, videViewNums, '视频播放量')
        this.initEchart('main4', xData, courseNums, '课程新增量')
      })
    },
    initEchart(id, xData, xVals, title) {
      // 基于准备好的dom，初始化echarts实例
      var myChart = echarts.init(document.getElementById(id))

      // 指定图表的配置项和数据
      var option = {
        title: {
          text: title
        },
        tooltip: {},
        legend: {
          data: ['数量']
        },
        xAxis: { // x轴的数据
          data: xData
        },
        yAxis: {},
        series: [
          {
            name: '数量',
            type: 'line',
            // x轴显示标题的数据
            data: xVals
          }
        ]
      }

      // 使用刚指定的配置项和数据显示图表。
      myChart.setOption(option)
    }
  }
}
</script>
